package com.zjsru.plan2024.oneday;

/**
 * 3222. 求出硬币游戏的赢家
 *
 * @Author: cookLee
 * @Date: 2024-11-05
 */
public class LosingPlayer {

    /**
     * 主:玩家需要拿出价值 总和 为 115 的硬币
     * \
     * 输入：x = 2, y = 7
     * 输出："Alice"
     * 解释：
     * 游戏一次操作后结束：
     * Alice 拿走 1 枚价值为 75 的硬币和 4 枚价值为 10 的硬币。
     * \
     *
     * @param args args
     */
    public static void main(String[] args) {
        LosingPlayer losingPlayer = new LosingPlayer();
        int x = 1;
        int y = 4;
        String s = losingPlayer.losingPlayer(x, y);
        System.out.println(s);
    }

    /**
     * 求出硬币游戏的赢家
     *
     * @param x x
     * @param y y
     * @return {@link String}
     */
    public String losingPlayer(int x, int y) {
        int count = 0;
        while (x > 0 && y >= 4) {
            x--;
            y -= 4;
            count++;
        }
        return (count - 1) % 2 == 0 ? "Alice" : "Bob";
    }

    /**
     * 求出硬币游戏的赢家
     *
     * @param x x
     * @param y y
     * @return {@link String}
     */
    public String losingPlayer2(int x, int y) {
        int ops = Math.min(x, y / 4);
        return ops % 2 == 1 ? "Alice" : "Bob";
    }

}
